PDF417 2D Barcode

PDF417 is a barcode symbology with the following basic characteristics:

But due to the limitation of SE450’s 2” Print head, the maximum data user can send in portrait and landscape mode as following:

Portrait mode: Any giving Dymo label can hold the maximum PDF417 barcode symbol column and row specified as following:

Column: 10

Row: 90

That gives user: the maximum characters with error correction level 0 sent to SE450 are:

Landscape mode

Maximum column is 30 and maximum raw is 74. In landscape mode, user can send the maximum data according to PDF417 specification which is described previously.

With current firmware setup, SE450 switches to landscape mode if user sends the data is too large for portrait mode to hold a complete PDF417 symbol image.

GS k command has different parameters in PDF417 2D barcode, it is defined as following:

ASCII GS k n c r e m1 m2 dl….dm

Decimal 29 107 n c r e m1 m2 dl….dm

Hex 1D 6B n c r e m1 m2 dl….dm

Parameters:

n = 14: specify it is PDF417 2D barcode.

c = user defined symbol column number (1 to 30 in landscape, 1 to 10 in portrait), if it is 0, which means the column will be calculated according to PDF417 specification by SE450 Firmware.

r = user defined symbol row number (3 to 74 in landscape, 3 to 90 in portrait); if it is 0 which means the raw will be calculated according to PDF417 specification by SE450 Firmware.

e = user defined error correction level (0 to 8), if it is 0 which means the error correction level will be set according to PDF417 specification. It will be assigned as per the following Table:

Error Correction Level Error Correction Codewords Number of Data Codewords
0 2 --
1 4 1-40
2 8 1-40
3 16 41-160
4 32 161
5 64 320
6 128 > 321
7 256 --
8 512 --

m1 = the most significant byte of data length.

m2= the least significant byte of data length.

Total data length = m1 * 256 + m2

Example

GS ‘k’ 0x0E 0x0 0x0 0x0 0x0 0x23 “This is a PDF417 Test, test 1234567”

prints the following PDF417 image: